package com.jsbs.iam.ident.service;

import com.jsbs.iam.ident.dto.ApplyConfigGetDto;
import com.jsbs.iam.ident.dto.ApplyTypeDeleteDto;
import com.jsbs.iam.ident.dto.UserInfoDeleteDto;
import com.jsbs.iam.ident.vo.ApplyAccountVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @BelongsProject: iam
 * @BelongsPackage: com.jsbs.iam.ident.service
 * @Author: WangJiYuan
 * @Description: TODO
 * @Version: 2023-01-16  19:35
 */
public interface UserApiService {
    /**
     * 删除账户数据
     *
     * @param deleteDto
     * @param request
     * @return
     */
    int deleteAccount(UserInfoDeleteDto deleteDto, HttpServletRequest request, HttpServletResponse response);

    /**
     * 删除应用类型关联的策略
     * @param deleteDto
     * @return
     */
    void deleteStrategyRelation(ApplyTypeDeleteDto deleteDto);

    /**
     * 根据用户数据查询账号数据
     * @param applyConfigGetDto
     * @return
     */
    List<ApplyAccountVo> getAccountDataByUser(ApplyConfigGetDto applyConfigGetDto);
}
